草庐IT

Android::Extending MapActivity => classNotFound 异常

全部标签

c# - 如何编写通用 IEnumerable<SelectListItem> 扩展方法

我对泛型相当陌生(好吧,真的很陌生),但我喜欢它们的想法。我将在一个View上有几个下拉列表,我想要一种通用的方法来获取对象列表并将其转换为SelectListItems列表我现在拥有的:publicstaticIEnumerableToSelectListItems(thisIEnumerableitems,longselectedId){returnitems.OrderBy(item=>item.Name).Select(item=>newSelectListItem{Selected=(item.Id==selectedId),Text=item.Name,Value=item

c# - 将 List<string> 转换为 StringCollection

我需要上述功能,因为我只能将StringCollection存储到设置,而不能存储字符串列表。如何将List转换为StringCollection? 最佳答案 怎么样:StringCollectioncollection=newStringCollection();collection.AddRange(list.ToArray());或者,避免中间数组(但可能涉及更多重新分配):StringCollectioncollection=newStringCollection();foreach(stringelementinlist)

C# 从 List<KeyValuePair<string, string> 获取键和值

给定一个列表:privateList>KV_List=newList>();voidinitList(){KV_List.Add(newKeyValuePair("qwer","asdf"));KV_List.Add(newKeyValuePair("qwer","ghjk"));KV_List.Add(newKeyValuePair("zxcv","asdf"));KV_List.Add(newKeyValuePair("hjkl","uiop"));}(注意:键“qwer”有多个值,值“asdf”有多个键。)1)是否有比仅在KeyValuePair列表上执行foreach更好的方法

c# - NSubstitute - 模拟在返回任务的方法中抛出异常

使用NSubstitute,如何模拟在返回任务的方法中抛出的异常?假设我们的方法签名看起来像这样:Task>GetAllAsync();下面是NSubstitute文档如何模拟非void返回类型的抛出异常。但这不编译:(myService.GetAllAsync().Returns(x=>{thrownewException();});那么你是如何做到这一点的呢? 最佳答案 实际上,接受的答案模拟了一个被抛出的同步异常,这不是真正的async行为。正确的mock方式是:varmyService=Substitute.For();my

c# - 这是捕获非特定异常(例如 System.Exception)的坏习惯吗?为什么?

我目前正在进行代码审查,下面的代码让我大吃一惊。我看到此代码存在多个问题。你是否同意我的观点?如果是这样,我该如何向我的同事解释这是错误的(顽固型...)?捕获一般异常(Exceptionex)使用“if(exissomething)”而不是另一个catchblock我们吃SoapException、HttpException和WebException。但是,如果Web服务失败,则没有什么可做的。代码:try{//CalltoaWebService}catch(Exceptionex){if(exisSoapException||exisHttpException||exisWebEx

c# - List<T> 并发删除和添加

我不太确定,所以我想我会问。将删除和添加项目到System.Collections.Generic.List对象是非线程安全的?我的情况:当收到一个连接时,它会被添加到列表中,但同时,还有一个工作人员正在删除死连接等。有问题吗?请问lock做?我还想知道我是否被允许使用列表对象上的锁Foreach方法。 最佳答案 是的,在List中添加和删除项目不是线程安全的,因此您需要同步访问,例如使用lock.注意lock关键字绝不会锁定您用作标识符的对象,它只会防止两个线程同时进入同一代码块。您将需要锁定访问列表的所有代码,使用相同的对象作为

c#异常处理,实际例子。你会怎么做?

我正在尝试更好地处理异常,但我觉得当我尽我最大努力捕捉它们时,我的代码变得非常丑陋、不可读和困惑。我很想看看其他人如何通过提供实际示例和比较解决方案来解决这个问题。我的示例方法从URL下载数据并尝试将其序列化为给定类型,然后返回一个填充了数据的实例。首先,完全没有任何异常处理:privatestaticTLoadAndSerialize(stringurl){varuri=newUri(url);varrequest=WebRequest.Create(uri);varresponse=request.GetResponse();varstream=response.GetRespon

c# - 为什么 IEnumerable<T> 没有 FindAll 或 RemoveAll 方法?

在我看来IList上有很多扩展方法同样适用于IEnumerable-例如FindAll和RemoveAll.谁能解释一下为什么他们不在那里? 最佳答案 RemoveAll没有任何意义,因为该API上没有Remove等-但是是FindAll从3.5开始-但它被称为Where:IEnumerablesource=...varfiltered=source.Where(x=>x.IsActive&&x.Id=25);相当于:IEnumerablesource=...varfiltered=fromxinsourcewherex.IsAct

c# - 内部异常的单元测试

我正在使用VisualStudio的集成框架编写一些单元测试。我需要编写一些测试用例,这些用例在抛出适当的异常时通过。问题是我需要测试的异常是嵌套在更一般的异常中的内部异常。是否有一些简单的解决方案,或者我是否需要扩展整个功能。我目前正在使用[ExpectedException]属性,但在这种情况下它不会有太大用处。我也很好奇当我们使用[ExpectedException]时会发生什么,同时我们在测试本身中也有一些Assert逻辑。条件是否被评估(抛出异常并且Assert语句被证明是有效的)或测试是否在抛出正确的异常后立即通过? 最佳答案

c# - LINQ 查询中的 "=>"标志是什么?

令人吃惊的是,这方面的信息如此之少。我找到了大量解释LINQ的教程,但它们没有解释这个特定的运算符:varResults=UserFavoritesContext.UserFavorites.Select(color=>color.FavoriteColor);“x=>x.y”有人可以解释一下这是如何工作的吗?我掌握了一般语法并能够使用它进行查询,但这就像在不知道自己在做什么的情况下做某事。 最佳答案 假设您有一个people列表,并且您想要遍历他们。你会写这样的东西:foreach(varpersoninpeople){//dos